<?php
namespace core\models;
/**
 * RPC服务器端
 * @package core\models
 * @author  ZhouHaoHua <53027327@qq.com>
 * @package
 */
class Rpc_Server {
    /**
     * @var Rpc_S_Yar
     */
    private $service;
    /**
     * 创建一个HTTP RPC Server
     * @param Object $obj  参数 $obj 对象的所有公开方法都会被注册为服务函数，可以被RPC调用。
     * @param string $type 默认使用 Yar来开放，以后可能会添加Hprose等这些方式
     * @see http://php.net/manual/zh/yar-server.construct.php
     */
    public function __construct($obj, $type = 'Yar') {
        $class = 'core\models\Rpc_S_'.$type;
        $this->service = new $class($obj);
    }

    /**
     * 启动HTTP RPC Server
     * @see http://php.net/manual/zh/yar-server.handle.php
     * @author ZhouHaoHua <53027327@qq.com>
     */
    public function handle(){
        return $this->service->handle();
    }
}